package com.zxdemo.mybatis.dao;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.zxdemo.jpa.model.Menu;
@Mapper
public interface MenuMapper {
	/**
	 * 根据父菜单，查询子菜单
	 * @param parentId 父菜单ID
	 * @param menuIdList  用户菜单ID
	 */
	List<Menu> queryListParentId(@Param("parent_id")Long parentId);
	
	/**
	 * 获取不包含按钮的菜单列表
	 */
	List<Menu> queryNotButtonList();

	/**
	 * 查询菜单总数
	 */
	int queryTotal();
	
	/**
	 * 保存菜单
	 */
	void save(Menu menu);
	
	/**
	 * 修改菜单
	 */
	void update(Menu menu);
	
	/**
	 * 批量删除
	 */
	void deleteBatch(@Param("menu_id_list")List<Long> menuIdList);

	/**
	 * 查询菜单
	 */
	Menu queryObject(@Param("menu_id")Long menuId);
	
	/**
	 *  分页查询菜单列表
	 *  @param：#{offset}, #{limit}
	 */
	List<Menu> queryList(@Param("offset") Integer offset,@Param("limit") Integer limit );

	/**
	 *  根据用户Id查询菜单列表
	 */
	List<Menu> queryListByUserId(@Param("user_id") Long userId);
}
